<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>11. README.mips</title>
<link rel="stylesheet" type="text/css" href="vg_basic.css">
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="Valgrind Documentation">
<link rel="up" href="dist.html" title="Valgrind Distribution Documents">
<link rel="prev" href="dist.readme-android_emulator.html" title="10. README.android_emulator">
<link rel="next" href="dist.readme-solaris.html" title="12. README.solaris">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div><table class="nav" width="100%" cellspacing="3" cellpadding="3" border="0" summary="Navigation header"><tr>
<td width="22px" align="center" valign="middle"><a accesskey="p" href="dist.readme-android_emulator.html"><img src="images/prev.png" width="18" height="21" border="0" alt="Prev"></a></td>
<td width="25px" align="center" valign="middle"><a accesskey="u" href="dist.html"><img src="images/up.png" width="21" height="18" border="0" alt="Up"></a></td>
<td width="31px" align="center" valign="middle"><a accesskey="h" href="index.html"><img src="images/home.png" width="27" height="20" border="0" alt="Up"></a></td>
<th align="center" valign="middle">Valgrind Distribution Documents</th>
<td width="22px" align="center" valign="middle"><a accesskey="n" href="dist.readme-solaris.html"><img src="images/next.png" width="18" height="21" border="0" alt="Next"></a></td>
</tr></table></div>
<div class="chapter">
<div class="titlepage"><div><div><h1 class="title">
<a name="dist.readme-mips"></a>11. README.mips</h1></div></div></div>
<div class="literallayout"><p><br>
      <br>
Supported platforms<br>
-------------------<br>
- MIPS32 and MIPS64 platforms are currently supported.<br>
- Both little-endian and big-endian cores are supported.<br>
- MIPS DSP ASE on MIPS32 platforms is supported.<br>
<br>
<br>
Building V for MIPS<br>
-------------------<br>
- Native build is available for all supported platforms. The build system<br>
expects that native GCC is configured correctly and optimized for the platform.<br>
Yet, this may not be the case with some Debian distributions which configure<br>
GCC to compile to "mips1" by default. Depending on a target platform, using<br>
CFLAGS="-mips32r2", CFLAGS="-mips32" or CFLAGS="-mips64" or<br>
CFLAGS="-mips64 -mabi=64" will do the trick and compile Valgrind correctly.<br>
<br>
- Use of cross-toolchain is supported as well.<br>
- Example of configure line and additional configure options:<br>
<br>
   $ ./configure --host=mipsel-linux-gnu --prefix=&lt;path_to_install_directory&gt;<br>
<br>
 * --host=mips-linux-gnu is necessary only if Valgrind is built on platform<br>
   other then MIPS, tools for building MIPS application have to be in PATH.<br>
<br>
 * --host=mips-linux-gnu is necessary if you compile it with cross toolchain<br>
   compiler for big endian platform.<br>
<br>
 * --host=mipsel-linux-musl is necessary if you compile it with cross toolchain<br>
   compiler for little endian platform.<br>
<br>
 * --host=nanomipseb-linux-gnu is necessary if you compile it with cross toolchain<br>
   compiler for nanoMIPS big endian platform.<br>
<br>
 * --host=nanomips-linux-gnu is necessary if you compile it with cross toolchain<br>
   compiler for nanoMIPS little endian platform.<br>
<br>
 * --build=mips-linux is needed if you want to build it for MIPS32 on 64-bit<br>
   MIPS system.<br>
<br>
 * If you are compiling Valgrind for mips32 with gcc version older then<br>
   gcc (GCC) 4.5.1, you must specify CFLAGS="-mips32r2 -mplt", e.g.<br>
<br>
   ./configure --prefix=&lt;path_to_install_directory&gt;<br>
   CFLAGS="-mips32r2 -mplt"<br>
<br>
<br>
Limitations<br>
-----------<br>
- Some gdb tests will fail when gdb (GDB) older than 7.5 is used and gdb is<br>
  not compiled with '--with-expat=yes'.<br>
- You can not compile tests for DSP ASE if you are using gcc (GCC) older<br>
  then 4.6.1 due to a bug in the toolchain.<br>
- Older GCC may have issues with some inline assembly blocks. Get a toolchain<br>
  based on newer GCC versions, if possible.<br>
- Systems with a mips64 cpu having only o32 libraries will misconfigure in case<br>
  no appropriate architecture flag is specified during configure time.<br>
  Be sure to set either mips32 or mips32r2 as the target architecture in that<br>
  case.<br>
- Some tests can not be compiled for nanoMIPS due to limitations in<br>
  preliminary GCC for nanoMIPS. You can use '-i' switch for building tests.<br>
<br>
    </p></div>
</div>
<div>
<br><table class="nav" width="100%" cellspacing="3" cellpadding="2" border="0" summary="Navigation footer">
<tr>
<td rowspan="2" width="40%" align="left">
<a accesskey="p" href="dist.readme-android_emulator.html">&lt;&lt; 10. README.android_emulator</a> </td>
<td width="20%" align="center"><a accesskey="u" href="dist.html">Up</a></td>
<td rowspan="2" width="40%" align="right"> <a accesskey="n" href="dist.readme-solaris.html">12. README.solaris &gt;&gt;</a>
</td>
</tr>
<tr><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td></tr>
</table>
</div>
</body>
</html>
